home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Joystick Magazine 1995 July & August
/
cd No4 joystick No62.iso
/
mac
/
pc
/
SHARE
/
LIGHTLIB
/
LANGUAGE.Z
/
LLO.H
< prev
next >
Wrap
C/C++ Source or Header
|
1995-01-27
|
6KB
|
125 lines
#include <windows.h>
#define EXPORTED __export FAR PASCAL
typedef LPVOID LLOBJECT;
// LIBRARY
#define LLO_LIBRARY_OBJECT 0x00000000
// CLASS
#define LLO_CLASS_CONTEXT LLO_LIBRARY_OBJECT + 0x00000000
#define LLO_CLASS_ABSTRACT LLO_LIBRARY_OBJECT + 0x00010000
#define LLO_CLASS_ERROR LLO_LIBRARY_OBJECT + 0x00020000
#define LLO_CLASS_APPLICATION LLO_LIBRARY_OBJECT + 0x00030000
// GENERIC CLASS / PROPERTY
#define LLO_ABSTRACT_APPLICATION LLO_CLASS_ABSTRACT + 0x0101
#define LLO_ABSTRACT_OWNER LLO_CLASS_ABSTRACT + 0x0102
#define LLO_ABSTRACT_LIBRARY_ID LLO_CLASS_ABSTRACT + 0x0211
#define LLO_ABSTRACT_LIBRARY_NAME LLO_CLASS_ABSTRACT + 0x0212
#define LLO_ABSTRACT_LIBRARY_VERSION LLO_CLASS_ABSTRACT + 0x0213
#define LLO_ABSTRACT_CLASS_ID LLO_CLASS_ABSTRACT + 0x0221
#define LLO_ABSTRACT_CLASS_NAME LLO_CLASS_ABSTRACT + 0x0222
#define LLO_ABSTRACT_CLASS_VERSION LLO_CLASS_ABSTRACT + 0x0223
#define LLO_ABSTRACT_ON_ERROR LLO_CLASS_ABSTRACT + 0x0301
#define LLO_ABSTRACT_CARGO LLO_CLASS_ABSTRACT + 0x0401
#define LLO_ABSTRACT_CARGO_COUNT LLO_CLASS_ABSTRACT + 0x0402
#define LLO_ABSTRACT_CARGO_POINTER LLO_CLASS_ABSTRACT + 0x0403
// ERROR CLASS / PROPERTY
#define LLO_ERROR_OBJECT LLO_CLASS_ERROR + 0x0001
#define LLO_ERROR_ACTION LLO_CLASS_ERROR + 0x0002
#define LLO_ERROR_PROPERTY LLO_CLASS_ERROR + 0x0003
#define LLO_ERROR_PROPERTY_NAME LLO_CLASS_ERROR + 0x0004
#define LLO_ERROR_NUMBER LLO_CLASS_ERROR + 0x0005
#define LLO_ERROR_MESSAGE LLO_CLASS_ERROR + 0x0006
#define LLO_ERROR_PARAM LLO_CLASS_ERROR + 0x0007
// APPLICATION CLASS / PROPERTY
#define LLO_APPLICATION_HANDLE LLO_CLASS_APPLICATION + 0x0001
#define LLO_APPLICATION_NAME LLO_CLASS_APPLICATION + 0x0002
#define LLO_APPLICATION_CONTEXT LLO_CLASS_APPLICATION + 0x0003
#define LLO_APPLICATION_CARGO_COUNT_DEFAULT LLO_CLASS_APPLICATION + 0x0004
#define LLO_APPLICATION_NATION LLO_CLASS_APPLICATION + 0x0005
#define LLO_APPLICATION_TASK LLO_CLASS_APPLICATION + 0x0006
#define LLO_APPLICATION_MESSAGE LLO_CLASS_APPLICATION + 0x0007
#define LLO_APPLICATION_OPTION_BASE LLO_CLASS_APPLICATION + 0x0008
// ERRORS
#define LLO_ERROR_NO_ERROR LLO_LIBRARY_OBJECT + 0
#define LLO_ERROR_INVALID_CLASS_DEFINE LLO_LIBRARY_OBJECT + 1001
#define LLO_ERROR_INVALID_OWNER_TYPE LLO_LIBRARY_OBJECT + 1002
#define LLO_ERROR_INVALID_PARAMETERS LLO_LIBRARY_OBJECT + 1003
#define LLO_ERROR_INVALID_ACCESS_NEW LLO_LIBRARY_OBJECT + 1101
#define LLO_ERROR_INVALID_ACCESS_DEL LLO_LIBRARY_OBJECT + 1102
#define LLO_ERROR_INVALID_ACCESS_ACCESS LLO_LIBRARY_OBJECT + 1103
#define LLO_ERROR_INVALID_ACCESS_ASSIGN LLO_LIBRARY_OBJECT + 1104
#define LLO_ERROR_INVALID_ACCESS_INVOKE LLO_LIBRARY_OBJECT + 1105
#define LLO_ERROR_INVALID_ACCESS_COPY LLO_LIBRARY_OBJECT + 1106
#define LLO_ERROR_MEMORY_ALLOCATION LLO_LIBRARY_OBJECT + 2000
#define LLO_ERROR_OBJECT_ACCESS_DENIED LLO_LIBRARY_OBJECT + 3100
#define LLO_ERROR_OBJECT_ASSIGN_DENIED LLO_LIBRARY_OBJECT + 3200
#define LLO_ERROR_READONLY_PROPERTY LLO_LIBRARY_OBJECT + 4000
#define LLO_ERROR_UNDEFINED_PROPERTY LLO_LIBRARY_OBJECT + 5000
#define LLO_ERROR_CARGO_OUT_OF_LIMIT LLO_LIBRARY_OBJECT + 6000
#define LLO_ERROR_PROFESSIONAL_VERSION_ONLY LLO_LIBRARY_OBJECT + 9101
#define LLO_ERROR_DEMO_LIMIT_EXCEEDED LLO_LIBRARY_OBJECT + 9201
// ACTIONS
#define LLO_ACTION_NEW 0x01
#define LLO_ACTION_DEL 0x02
#define LLO_ACTION_ACCESS 0x03
#define LLO_ACTION_ASSIGN 0x04
#define LLO_ACTION_INVOKE 0x05
#define LLO_ACTION_COPY 0x06
#define LLO_COPY_CLONE 0x01
#define LLO_COPY_BLOB 0x11
#define LLO_COPY_UNBLOB 0x12
#define LLO_MESSAGE_ERROR_NONE 0x00
#define LLO_MESSAGE_ERROR_BEEP 0x01
#define LLO_MESSAGE_ERROR_BOX 0x02
extern LLOBJECT EXPORTED
oNew( // Function Object New
DWORD dwClass,
LLOBJECT lloParent,
int iSizeOfCargo,
DWORD dwValue,
DWORD dwExtraParam
);
extern LLOBJECT EXPORTED
oDel( // Function Object Delete
LLOBJECT lloObject
);
extern DWORD EXPORTED
oAccess( // Function Object Access
LLOBJECT lloObject,
DWORD dwProperty,
DWORD dwExtraParam
);
extern DWORD EXPORTED
oAssign( // Function Object Assign
LLOBJECT lloObject,
DWORD dwProperty,
DWORD dwValue,
DWORD dwExtraParam
);
extern DWORD EXPORTED
oInvoke( // Function Object New
LLOBJECT lloObject,
DWORD dwMethod,
DWORD dwExtraParam
);
typedef DWORD ( CALLBACK * FP_ERROR ) \
( \
LLOBJECT lloObject \
);